#ifndef _SETTING_UI_H_
#define _SETTING_UI_H_
#include "gd32f3x0.h"
#include "basic_ui.h"
#include "bsp_config_param.h"

#define     SETTING_ITEM_NUM       5  //设置 灭蚊设置  驱蚊设置  时间设置  语言设置 

#define     MOS_REPEL_SETT_ITEM_NUM          5 //正常  定时   面积 其它设置  退出
#define     MOS_REPEL_SETT_TIME_ITEM_NUM     2  //时间设置窗口   每天
#define     MOS_REPEL_SETT_AREA_ITEM_NUM     4  // (21~30)m2   (10~20)m2   10m2以下   智能检测
#define     MOS_REPEL_OTHER_SETT_ITEM_NUM    3  //背光设置  自动背光   驱蚊药量重置


#define     MOS_FUMI_SETT_ITEM_NUM           3  //延时启动  面积设置 退出
#define     MOS_FUMI_SETT_DELAY_ITEM_NUM     4  //00分钟   10分钟   5分钟  2分钟
#define     MOS_FUMI_SETT_AREA_ITEM_NUM      5  //00m2     (21~30)m2   (10~20)m2   10m2以下   智能检测

#define     TIME_SETT_ITEM_NUM               2  //2021Y    01M 29D    15:03H   退出

#define     LANGUAGE_ITEM_NUM                10  //German  French Italy

extern const char * SettingMenuLanguage[NUM_OF_LANGUAGE][SETTING_ITEM_NUM];
extern MenuItem_Typedef    SettingMenu[SETTING_ITEM_NUM];

/*******************************************************************************/
extern MenuItem_Typedef    MosRepelOtherSettMenu[MOS_REPEL_OTHER_SETT_ITEM_NUM];//其它驱蚊设置
extern MenuItem_Typedef    MosRepelSettTimeMenu[MOS_REPEL_SETT_TIME_ITEM_NUM]; //驱蚊设置定时菜单条目数组
extern MenuItem_Typedef    MosRepelSettAreaMenu[MOS_REPEL_SETT_AREA_ITEM_NUM]; //驱蚊设置面积菜单条目数组
extern MenuItem_Typedef    MosRepelSettMenu[MOS_REPEL_SETT_ITEM_NUM];  //驱蚊设置菜单条目数组      
/*******************************************************************************/

/*******************************************************************************/
extern MenuItem_Typedef    MosFumigateSettAreaMenu[MOS_FUMI_SETT_AREA_ITEM_NUM];  //灭蚊设置面积条目数组
extern MenuItem_Typedef    MosFumigateSettDelayMenu[MOS_FUMI_SETT_DELAY_ITEM_NUM];  //灭蚊设置延时条目数组     
extern MenuItem_Typedef    MosFumigateSettMenu[MOS_FUMI_SETT_ITEM_NUM];  //熏蒸设置菜单条目数组
/*******************************************************************************/

/*******************************************************************************/
extern MenuItem_Typedef    TimeSettMenu[TIME_SETT_ITEM_NUM];  //时间设置菜单条目数组
/*******************************************************************************/

/*******************************************************************************/
extern MenuItem_Typedef    LanguageSettMenu[LANGUAGE_ITEM_NUM];  //语言设置菜单条目数组
/******************************************************************************/

/******************************************************************************/
extern const char * MosFumigateSettAreaLanguage[NUM_OF_LANGUAGE][MOS_FUMI_SETT_AREA_ITEM_NUM];
extern const char * MosRepelSettAreaLanguage[NUM_OF_LANGUAGE][MOS_REPEL_SETT_AREA_ITEM_NUM];
/******************************************************************************/

/*************************************************/

extern uint8_t repel_once_mark;

extern char MosRepelBacklightBuf[15];
void MosRepelBacklightInit(void);

extern char MosRepelSettingTimeBuf[15];
void MosRepelSettTimeInit(void);

extern char MosRepelSettingAreaBuf[10];   //
void MosRepelSettAreaInit(void);

extern char FumiDelayTimeBuf[10]; 
void FumiDelayTimeInit(void);

extern char FumiAreaBuf[10];
void FumiAreaInit(void);

extern char SetTimeBuff1[10];  //存储年
extern char SetTimeBuff2[15];  //存储月和日
extern char SetTimeBuff3[10];  //存储时和分
extern rtc_parameter_struct RTCDateTime;
void TimeSetInit(void);
/*************************************************/
void MosRepelAutoBacklight(void);

void GermanLanguage(void);
void FrenchLanguage(void);
void ItalyLanguage(void);
void JapanLanguage(void);
void ArabLanguage(void);
void EnglishLanguage(void);
void PortLanguage(void);
void TraditionalChinese(void);
void SimplifiedChinese(void);

void FumigateAreaCustom(void);
void FumigateArea21_30m2(void);
void FumigateArea10_20m2(void);
void FumigateArea10m2(void);
void FumigateAreaAuto(void);

void FumigateDelayTimeCustom(void);
void FumigateDelayTime10Min(void);
void FumigateDelayTime5Min(void);
void FumigateDelayTime2Min(void);


void MosRepelSettAreaAuto(void);
void MosRepelSettArea10m2(void);
void MosRepelSettArea10_20m2(void);
void MosRepelSettArea21_30m2(void);

void RepelNormalSettFunction(void);
void RepelTimingSettFunction(void);

void MosRepelOtherSettMenuInit(void);
void MosRepelSettTimeMenuInit(void);
void MosRepelSettAreaMenuInit(void);
void MosRepelSettMenuInit(void);

void MosFumigateSettAreaMenuInit(void);
void MosFumigateSettDelayMenuInit(void);
void MosFumigateSettMenuInit(void);

void TimeSettMenuInit(void);
void LanguageSettMenuInit(void);
void SettingMenuInit(void);

void ShowSomeSettTips(void);
void Setting_Ui(void);


void SettingIncFunction(void);

#endif